/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Persistencia;

import Entidades.Agencia;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;

/**
 *
 * @author Thalyta
 */
public final class PersistenciaAgencia {
    
     ArrayList <Agencia> agencias ;
    
    
    public PersistenciaAgencia() {
        
        agencias = new ArrayList<>();
        leituraAgencia();
    }
    
    public void leituraAgencia() {
        try {
            File arq = new File("C:/Users/Thalyta/Desktop/6º/Projetos/projeto-de-software/Trabalho1/src/AquirvosTXT/Agencia.dat");//Dados aqui e o nome do pacote e clientes.dat e o nome do meu arquivo para salvar nele
            FileInputStream fi = new FileInputStream(arq.getAbsolutePath());
            try (ObjectInputStream oi = new ObjectInputStream(fi)) {
                agencias = (ArrayList) oi.readObject();
            }
        } catch (IOException | ClassNotFoundException e) {
            System.out.println(e.getMessage());
        }
    }

    public void gravaAgencia() {
        try {
            FileOutputStream fo = new FileOutputStream("src/AquirvosTXT/Agencia.dat");//Dados aqui e o nome do pacote e clientes.dat e o nome do meu arquivo para salvar nele
            try (ObjectOutputStream oo = new ObjectOutputStream(fo)) {
                oo.writeObject(agencias);
            }
            System.out.println("Dados gravados com sucesso");
        } catch (Exception e) {
            System.err.println("Erro ao serializar " + e.getMessage());
        }  
    }  
    public void excluirAgencia(Agencia a){
        
        int i;
        for (i = 0; i < agencias.size(); i++){
            
            if (a.getCodigo().equals(agencias.get(i).getCodigo()))
                agencias.remove(i);
                
        }
    }
  
    public ArrayList getAgencias() {
        return agencias;
    }

    public void setAgencias(ArrayList agencias) {
        this.agencias = agencias;
    }
    
    public void adicinarAgencia(Agencia a){
        agencias.add(a);
    }
 
public int tam(){

   int tam ;
   tam = this.agencias.size();
    return tam ;

}
       public Agencia PesquisaAgencia(String cod){
        
           Agencia agencia = null;
        int i;
        for (i = 0; i < agencias.size(); i++){
            
            if (cod.equals(agencias.get(i).getCodigo()) == true)
                agencia = agencias.get(i) ;
              
                
        }
         return agencia;
      
    } 
}
